import pandas as pd
import requests
import pymysql
import base64

db_phy = {
    'host': '118.190.236.225',  # 主机
    'user': 'root',  # 用户名
    'password': '123456',  # 密码
    'port': 8306,  # 端口
    'database': 'cw'  # 数据库名
}
url = "https://account.youchat66.com/v1/api/coins/identify"
# 从usb读取数据
def read_from():
    # 读取 Excel 文件，只读取索引 0, 1, 2
    df = pd.read_excel('E:\\git\\ZjdxCKDataHandelPyThon\\im\\1.xlsx', usecols=[0, 1, 2])  # 替换为你的文件路径
    # 连接到 MySQL 数据库
    conn = pymysql.connect(**db_phy)
    cursor = conn.cursor()

    # 插入数据并处理
    for index, row in df.iterrows():
        value_0 = row[0]  # 索引 0 的值
        value_1 = row[1]  # 索引 1 的值
        value_2 = row[2]  # 索引 2 的值

        try:
            response = requests.get(url)
            if response.status_code == 200:
                # 解析 JSON 数据
                json_data = response.json()
                data_value = json_data.get("data")  # 提取 data
                print(f"Encoded Base64 Data: {data_value}")
                # 插入数据库的 SQL 语句
                cursor.execute('INSERT INTO test (username, phone) VALUES (%s, %s)',
                               (value_0, value_1))
                new_id = cursor.lastrowid  # 获取新增的 ID
                print(f"new_id: {new_id}")

                conn.commit()  # 提交更改

                encoded_data = base64.b64encode(value_1.encode('utf-8')).decode('utf-8')
                # 将加密结果添加到 DataFrame 的新列
                df.at[index, 'encrypted'] = encoded_data  # 新列为加密后的字符串
            else:
                print(f"Request failed with status code: {response.status_code}")
                break

        except Exception as e:
            print(f"插入失败，索引 0: {value_0}, 索引 1: {value_1}, 索引 2: {value_2}")
            print(f"异常信息: {e}")
            break  # 停止程序

    # 关闭数据库连接
    cursor.close()
    conn.close()

    # 输出到新的 Excel 文件
    df.to_excel('output_file.xlsx', index=False)  # 替换为你想要的输出文件路径


if __name__ == "__main__":
    read_from()